In the context of computer networking, web services and other computing services provide a way to access software functionality that can be reused for a variety of purposes by different clients. In recent years, numerous service providers have emerged which provide technologies that deliver computation, software, data access, and storage services that do not require end-user knowledge of the physical location and configuration of the system that delivers those services. Ordinarily, such network-accessible service providers deliver applications via the internet as a metered service on behalf of an owner of the application. These applications are typically accessed from web browsers, desktop and mobile apps by various end users, while the business software and data are stored on servers at a remote location that is managed by the service provider. In this manner, the owner of the application is relieved of the burden of having to build and maintain the various hardware and software infrastructure needed to run their application(s). In turn, this can cut down on costs and maintenance, improve reliability and scalability, and provide enhanced agility (time-to-market) for deploying new applications.
In this network-accessible service environment, configuring and bootstrapping applications has become a significant topic. An application owner typically needs a way to deploy, configure and execute the application on the servers of the service provider. Manually logging into remote servers over secure shell (SSH) or other means is not always a practical way for owners to manage this process. A more automated and user friendly approach is desirable.